home *** CD-ROM | disk | FTP | other *** search
/ Aminet 12 / Aminet 12 (1996)(GTI - Schatztruhe)[!][Jun 1996].iso / Aminet / dev / e / framework.lha / fw / stack.e < prev    next >
Encoding:
Text File  |  1996-01-28  |  601 b   |  34 lines

  1.  
  2. -> a stack is a LIFO (last-in first-out) collection.
  3. -> Time complexity for data adding is O(1).
  4. -> Time complexity for data searching is O(1).
  5. -> Space complexity is O(n).
  6.  
  7. -> Copyright © Guichard Damien 01/04/1996
  8.  
  9. OPT MODULE
  10. OPT EXPORT
  11.  
  12. MODULE 'fw/bag'
  13.  
  14. OBJECT stack OF bag
  15. ENDOBJECT
  16.  
  17. -> Push an element to the stack.
  18. PROC push(e:PTR TO stack) OF stack IS self.add(e)
  19.  
  20. -> Pop an element from the stack.
  21. PROC pop() OF stack
  22.   DEF b:PTR TO bag
  23.   IF b:=self.next
  24.     self.next:=b.next
  25.     END b
  26.   ELSE
  27.     Raise("estk")
  28.   ENDIF
  29. ENDPROC
  30.  
  31. -> Top element of the stack.
  32. PROC top() OF stack IS self.next
  33.  
  34.